• NavigationViewController is a fully-featured user interface for turn-by-turn navigation. Do not confuse it with the NavigationController class in UIKit.

    You initialize a navigation view controller based on a predefined Route and NavigationOptions. As the user progresses along the route, the navigation view controller shows their surroundings and the route line on a map. Banners above and below the map display key information pertaining to the route. A list of steps and a feedback mechanism are accessible via the navigation view controller.

    To be informed of significant events and decision points as the user progresses along the route, set the NavigationService.delegate property of the NavigationService that you provide when creating the navigation options.

    CarPlayNavigationViewController manages the corresponding user interface on a CarPlay screen.

    See more

    Declaration

    Swift

    open class NavigationViewController : UIViewController, NavigationStatusPresenter
  • A route voice controller monitors turn-by-turn navigation events and triggers playing spoken instructions as audio using the Speech Synthesis framework, also known as VoiceOver.

    You initialize a voice controller using a NavigationService instance. The voice controller observes when the navigation service hints that the user has passed a spoken instruction point and responds by calling it’s speechSynthesizer to handle the vocalization.

    If you want to use your own custom SpeechSynthesizing implementation - also pass it during initialization. If no implementation is provided - MultiplexedSpeechSynthesizer will be used by default.

    You can also subclass RouteVoiceController to implement you own mechanism of monitoring navgiation events and calling speechSynthesizer.

    See more

    Declaration

    Swift

    open class RouteVoiceController : NSObject, AVSpeechSynthesizerDelegate
  • Customization options for the turn-by-turn navigation user experience in a NavigationViewController.

    A navigation options object is where you place customized components that the navigation view controller uses during its lifetime, such as styles or voice controllers. You would likely use this class if you need to specify a Mapbox access token programmatically instead of in the Info.plist file.

    Note

    NavigationOptions is designed to be used with the NavigationViewController class to customize the user experience. To specify criteria when calculating routes, use the NavigationRouteOptions class. To modify user preferences that persist across navigation sessions, use the NavigationSettings class.
    See more

    Declaration

    Swift

    open class NavigationOptions : NavigationCustomizable
  • A view that represents the root view of the MapboxNavigation drop-in UI.

    Components

    1. InstructionsBannerView
    2. InformationStackView
    3. BottomBannerView
    4. ResumeButton
    5. WayNameLabel
    6. FloatingStackView
    7. NavigationMapView
    8. SpeedLimitView
    +--------------------+
    |         1          |
    +--------------------+
    |         2          |
    +---+------------+---+
    | 8 |            |   |
    +---+            | 6 |
    |                |   |
    |         7      +---+
    |                    |
    |                    |
    |                    |
    +------------+       |
    |  4  ||  5  |       |
    +------------+-------+
    |         3          |
    +--------------------+
    

    Declaration

    Swift

    @IBDesignable
    open class NavigationView : UIView